package com.chongchong.common.enums;

import com.chongchong.common.config.IErrorCode;

/**
 * @author 作者: Elvira
 * @date 创建时间: 2020年12月8日 下午7:45:42
 *
 *       自定义错误类型枚举
 */
public enum ApiErrorCode implements IErrorCode {

	// 共通
	UNKNOWN_ERROR("B10010001", "系统异常"),

	CMN_PARAM_VALIDATE("B10010002", "参数格式不正确"),

	NETWORK_ERROR("B10010003", "网络异常，调用服务失败"),

	FAILED("B10010004", "操作失败"),

	PARAMETERS_FAILED("B10010005", "签名认证参数转换失败"),

	URL_FAILED("B10010006", "{0}服务获取失败，请先注册服务"),

	NO_NOT_EXIST("B10010007","业务类型不存在"),


	// 成功
	SUCCESS("0", "成功");

	private final String errCode;
	private final String errMessage;

	ApiErrorCode(final String errorCode, final String message) {
		this.errCode = errorCode;
		this.errMessage = message;
	}

	public static ApiErrorCode fromCode(String errorCode) {
		ApiErrorCode[] ecs = ApiErrorCode.values();
		for (ApiErrorCode ec : ecs) {
			if (ec.getErrCode().equals(errorCode)) {
				return ec;
			}
		}

		return SUCCESS;
	}

	@Override
	public String toString() {
		return String.format(" ErrorCode:{Code=%s, Message=%s} ", errCode, errMessage);
	}

	@Override
	public String getErrCode() {
		return this.errCode;
	}

	@Override
	public String getErrMessage() {
		return this.errMessage;
	}
}
